package cn.nawang.ebeim.api.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * TbUser entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "tb_user", catalog = "ebeim")
public class User implements java.io.Serializable {

  // Fields

  private String id;
  private String username;
  private String password;
  private String createTime;
  private String name;
  private Integer departmentId;
  private String customerId;
  private String isUpdateDefaultPwd;
  private String status;
  private String email;
  private String mobile;
  private String lmUserId;
  private Long lmTime;
  private Long updatePassTime;
  private String createUserId;
 
  private String role;  
  private String labId; 
  private String labType;
  
  private String isFirstLogin;
  private String spaceSize;
  private String safeLevel;
  private String bindDevice;
  private Long bindTime;
  
  private String spaceCapacity;
  
  private String bindDeviceName;
  
  private int selfGrowingId;

  // Property accessors
  @Id
  @Column(name = "id", unique = true, nullable = false, length = 32)
  public String getId() {
    return this.id;
  }

  public void setId(String id) {
    this.id = id;
  }

  @Column(name = "self_growing_id", unique = true, nullable = false, length = 255)
  @GeneratedValue(strategy=GenerationType.AUTO)
  public int getSelfGrowingId() {
    return selfGrowingId;
  }

  public void setSelfGrowingId(int selfGrowingId) {
    this.selfGrowingId = selfGrowingId;
  }

  @Column(name = "username", nullable = false, length = 30)
  public String getUsername() {
    return this.username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

  @Column(name = "password", nullable = false, length = 50)
  public String getPassword() {
    return this.password;
  }

  public void setPassword(String password) {
    this.password = password;
  }

  @Column(name = "create_time", nullable = false, length = 19)
  public String getCreateTime() {
    return this.createTime;
  }

  public void setCreateTime(String createTime) {
    this.createTime = createTime;
  }

  @Column(name = "name", nullable = false, length = 10)
  public String getName() {
    return this.name;
  }

  public void setName(String name) {
    this.name = name;
  }

  @Column(name = "department_id", nullable = false)
  public Integer getDepartmentId() {
    return this.departmentId;
  }

  public void setDepartmentId(Integer departmentId) {
    this.departmentId = departmentId;
  }

  @Column(name = "customer_id", nullable = false, length = 45)
  public String getCustomerId() {
    return this.customerId;
  }

  public void setCustomerId(String customerId) {
    this.customerId = customerId;
  }

  @Column(name = "is_update_default_pwd", nullable = false, length = 1)
  public String getIsUpdateDefaultPwd() {
    return this.isUpdateDefaultPwd;
  }

  public void setIsUpdateDefaultPwd(String isUpdateDefaultPwd) {
    this.isUpdateDefaultPwd = isUpdateDefaultPwd;
  }

  @Column(name = "status", nullable = false, length = 1)
  public String getStatus() {
    return this.status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

  @Column(name = "email", nullable = false)
  public String getEmail() {
    return this.email;
  }

  public void setEmail(String email) {
    this.email = email;
  }

  @Column(name = "mobile", nullable = false, length = 45)
  public String getMobile() {
    return this.mobile;
  }

  public void setMobile(String mobile) {
    this.mobile = mobile;
  }

  @Column(name = "lm_user_id", length = 45)
  public String getLmUserId() {
    return this.lmUserId;
  }

  public void setLmUserId(String lmUserId) {
    this.lmUserId = lmUserId;
  }

  @Column(name = "lm_time")
  public Long getLmTime() {
    return this.lmTime;
  }

  public void setLmTime(Long lmTime) {
    this.lmTime = lmTime;
  }

  @Column(name = "update_pass_time")
  public Long getUpdatePassTime() {
    return this.updatePassTime;
  }

  public void setUpdatePassTime(Long updatePassTime) {
    this.updatePassTime = updatePassTime;
  }

  @Column(name = "create_user_id", length = 45)
  public String getCreateUserId() {
    return this.createUserId;
  }

  public void setCreateUserId(String createUserId) {
    this.createUserId = createUserId;
  }

  @Column(name = "role")
  public String getRole() {
    return role;
  }

  public void setRole(String role) {
    this.role = role;
  }

  @Column(name = "lab_id")
  public String getLabId() {
    return labId;
  }

  public void setLabId(String labId) {
    this.labId = labId;
  }

  @Column(name = "lab_type")
  public String getLabType() {
    return labType;
  }

  public void setLabType(String labType) {
    this.labType = labType;
  }

  @Column(name = "is_first_login")
  public String getIsFirstLogin() {
    return isFirstLogin;
  }

  public void setIsFirstLogin(String isFirstLogin) {
    this.isFirstLogin = isFirstLogin;
  }

  @Column(name = "space_size")
  public String getSpaceSize() {
    return spaceSize;
  }

  public void setSpaceSize(String spaceSize) {
    this.spaceSize = spaceSize;
  }

  @Column(name = "safe_level")
  public String getSafeLevel() {
    return safeLevel;
  }

  public void setSafeLevel(String safeLevel) {
    this.safeLevel = safeLevel;
  }

  @Column(name = "bind_device")
  public String getBindDevice() {
    return bindDevice;
  }

  public void setBindDevice(String bindDevice) {
    this.bindDevice = bindDevice;
  }

  @Column(name = "bind_time")
  public Long getBindTime() {
    return bindTime;
  }

  public void setBindTime(Long bindTime) {
    this.bindTime = bindTime;
  }
  
  @Column(name="space_capacity")
  public String getSpaceCapacity() {
    return spaceCapacity;
  }

  public void setSpaceCapacity(String spaceCapacity) {
    this.spaceCapacity = spaceCapacity;
  }
  
  @Column(name="bind_device_name")
  public String getBindDeviceName() {
    return bindDeviceName;
  }

  public void setBindDeviceName(String bindDeviceName) {
    this.bindDeviceName = bindDeviceName;
  }

  @Override
  public String toString() {
    return "User [id=" + id + ", username=" + username + ", password=" + password + ", createTime="
        + createTime + ", name=" + name + ", departmentId=" + departmentId + ", customerId="
        + customerId + ", isUpdateDefaultPwd=" + isUpdateDefaultPwd + ", status=" + status
        + ", email=" + email + ", mobile=" + mobile + ", lmUserId=" + lmUserId + ", lmTime="
        + lmTime + ", updatePassTime=" + updatePassTime + ", createUserId=" + createUserId
        + ", role=" + role + ", labId=" + labId + ", labType=" + labType + ", isFirstLogin="
        + isFirstLogin + ", spaceSize=" + spaceSize + ", safeLevel=" + safeLevel + ", bindDevice="
        + bindDevice + ", bindTime=" + bindTime + ", spaceCapacity=" + spaceCapacity + "]";
  }
}
